home *** CD-ROM | disk | FTP | other *** search
- October 1989
- ============
-
- I have further modified the compiler to generate symbols and
- syntax compatible with Motorola's FREEWARE 68332 assembler; it is also
- compatible with Motorola's 68K family macro assembler as released for
- MS-DOS. I used Microsoft Quick C to compile and debug it, and the Quick
- C make file (CC68K.MAK) is included. The original comments of the
- author (Matthew Brandt) and the modifier (Ron Fox) are included.
-
- This compiler generates 68000 assembly code, and as such it
- doesn't use any of the extra addressing modes or instructions supported
- by the 68332. It is meant to be used as a quick and dirty tool to
- evaluate Motorola's 68000 microprocessors; it can be used to generate
- production code but I must emphasize that this tool is NOT a supported
- product of Motorola Inc. If you are developing a product and you need a
- C compiler for the 68K family, please purchase the official Motorola C
- compiler and macro assembler package, since the price is reasonable and
- it is supported by Motorola.
-
- Scott Howard
- Field Applications Engineer
- Motorola Semiconductor Products, Canada
-
- =======================================================================
-
- This archive contains a modified version of Matthew Brandt's C68K
- compiler. Where Brandt's compiler generated UNIX assembler code, this
- version generates code compatible with MASM, Motorola's resident
- Assembler.
- The current version has been revised and quite a few bugs fixed. It
- should be more robust than the previous version. The following is the
- copyright notice which appeared in the original version:
-
- /*
- * 68000 C compiler
- *
- * Copyright 1984, 1985, 1986 Matthew Brandt.
- * all commercial rights reserved.
- *
- * This compiler is intended as an instructive tool for personal use. Any
- * use for profit without the written consent of the author is prohibited.
- *
- * This compiler may be distributed freely for non-commercial use as long
- * as this notice stays intact. Please forward any enhancements or questions
- * to:
- *
- * Matthew Brandt
- * Box 920337
- * Norcross, Ga 30092
- */
-
- I performed the original modifications using VMS C, and have therefore
- had to edit each module to stick a <> around the stdio.h #include statements.
- I have not tested this compiler on an IBM compatible. Note that the original
- documentation for the compiler states that there will be compilation warnings
- when building the compiler. This is still true, due to some mixed mode
- int vs pointer assignments. Take note large memory model users.
-
- Bugs/restrictions in the original have not been fixed, these include:
- 1. Errors involving char parameters to functions
- 2. Limits on the size of functions due to the fact that a function is
- completely parsed before code is generated.
- 3. No support for floats, however float declarations do not produce errors.
- 4. Preprocessor support is limited to #include and symbol replacement #define
- directives, that is #define's without arguments.
- 5. There is no real run time library supplied. This includes a lack of the
- 'standard' useful functions such as printf, scanf and so on.
-
- To rebuild:
- Compile all .C files except sieve.c which is a test program.
- Link these together with the run time library of your C compiler.
- Name the output file C68M. Assemble LIB.SA with the Motorola 68000
- assembler.
-
- To use:
- Type:
- C68M file.c
-
- Where file.c is the name of the file you want to compile.
- The file file.lis and file.sa will be produced. The .lis file is a listing,
- and the .sa file is valid assembler input for MASM. It should be linked
- with MLINK and whatever other modules you wish to include.
-
- Ron Fox
- NSCL
- Michigan State University
- East Lansing, MI 48824-1321
-
- The following is the original READ.ME file for C68K as distributed by
- Matthew Brandt, the original author. Documentation above supersedes the
- information in the file below.
-
- ----------------------------------- Original READ.ME ----------------------
-
-
- NOTICE:
-
- 68000 C compiler
-
- Copyright 1984, 1985, 1986 Matthew Brandt.
- all commercial rights reserved.
-
- This compiler is intended as an instructive tool for personal use. Any
- use for profit without the written consent of the author is prohibited.
-
- This compiler may be distributed freely for non-commercial use as long
- as this notice stays intact. Please forward any enhancements or questions
- to:
-
- Matthew Brandt
- Box 920337
- Norcross, Ga 30092
-
- This compiler is an optimizing C compiler for the Motorola 68000 processor.
- It has successfully compiled itself on UNIX system V running on a Motorola
- VME-10. Since this code was written for a machine with long integers it may
- exhibit some irregularity when dealing with long integers on the IBM-PC.
- The author makes no guarantees. This is not meant as a serious developement
- tool although it could, with little work, be made into one. The bugs and
- limitations of this compiler are listed below:
-
- -Although you may declare floating point types the code generator does
- not know how to deal with them. They should therefore be avoided.
-
- -The preprocessor does not support arguments to #define'd macros or
- any of #line #ifdef... etc. Only #include and #define are supported.
-
- -Function arguments declared as char may not work properly. Declare
- them as int.
-
- -The size of functions is slightly limited due to the fact that the
- entire function is parsed before any code is generated.
-
- -The output of the compiler is in the UNIX 68000 assembler format.
-
- To run the compiler type "cc68 sieve.c". This will compile the program sieve
- and produce two files; sieve.lis is a source listing with a symbol type
- reference; sieve.s is the 68000 assembly language produced.
-
- The file lib.s is the assembly source for some runtime support routines
- which must be loaded with the final code. The is no standard runtime library
- support.
-
- The compiler can be compiled by microsoft C version 3.0 or higher. MSC will
- issue lots of warnings but they can be ignored. The file make.bat will
- rebuild the compiler if MSC is available.
-
- If you wish to make commercial use of all or part of this package please
- contact me at the above address or (404)662-0366. Any voluntary contribution
- from non-commercial users will be greatly appreciated but is by no means
- necessary. enjoy...
- Matt Brandt
-
-